Skip to main content

Full text of "International QL Report (IQLR)"

See other formats


ME INTERNATIONAL QL REPORT 


The Definitive Information Source 


Published by SeaCoast Services 


Anniversary 
Issue 


May/June 
{992 


Vol. 2 No. 1 $5.00 


15 Kilburn Court, Newport, Rhode Island 02840, USA 














DILWYN JONES COMPUTING 





41 BRO EMRYS, TAL-Y-BONT, BANGOR, GWYNEDD, GREAT BRITAIN, LL57 3 YT 


TELEPHONE: 0248-354023 





WE SELL A WIDE RANGE OF SINCLAIR QL SOFTWARE, PROGRAMS WE PUBLISH OURSELVES AND THIRD PARTY 
SOFTWARE. MOST ITEMS ARE HELD IN STOCK WHERE POSSIBLE, BUT WE WILL OF COURSE ORDER ANY ITEM NOT 
CURRENTLY IN STOOCK AND QUOTE YOU A DELIVERY TIME. 


CATALOGUE ASK FOR A COPY OF OUR QL PRODUCTS CATALOGUE, FREE ON REQUEST. IT CONTAINS MORE DETAILS 
OF OUR SOFTWARE AND SOME SCREEN PICTURES FROM THE PROGRAMS. 


SOME OF OUR SOFTWARE IS AVAILABLE FROM EMSOFT IN THE U.S.A., QITALY CLUB IN ITALY, JURGEN FALKENBURG 
AND QLYMPIC COMPUTER SYSTEMS IN GERMANY. OR YOU CAN ORDER DIRECT FROM US, OF COURSE. IF CONTACTING 
US BY TELEPHONE, REMEMBER THE UK IS 5 TO 8 HOURS AHEAD OF THE U.S.A. WE HAVE AN ANSWERING MACHINE FOR 
WHEN WE CAN'T ANSWER IN PERSON AND WE DO TRY TO CALL YOU BACK IF REQUIRED. 


WE CAN ACCEPT ORDERS BY TELEPHONE, PAID FOR BY CREDIT CARD FOR LOW EXCHANGE COSTS AND QUICK 
DELIVERY. WHY NOT CLUB TOGETHER TO BUY PROGRAMS AT REDUCED COSTS AND TAKE ADVANTAGE OF QUANTITY 
DISCOUNTS (5% DISCOUNT FOR 2 PROGRAMS, 10% FOR THREE OR MORE). PLEASE ADD 2.00 POUNDS STERLING PER 
PROGRAM ON MICRODRIVE CARTRIDGE. 





PAYMENT BY CREDIT CARD (ACCESS, VISA, MASTERCARD, EUROCARD, CONNECT), 
EUROCHEQUE (IN POUNDS STERLING), INTERNATIONAL POSTAL MONEY ORDER, CASH, 
CHEQUE IN POUNDS STERLING DRAWN ON UK BRANCH OF A BANK OR BUILDING 


SOCIETY 


ALL PRICES IN THIS ADVERT ARE IN UK POUNDS STERLING CURRENCY. 
POSTAGE - SOFTWARE POST FREE IN THE UK, AND 1 POUND PER PROGRAM TO OTHER 





















































COUNTRIES 

FILE TRANSFER DISPLAY SOFTWARE DATABASE 
DISCOVER VISION MIXER 1........... ADDRESS LABEL PRINTER. 
MULTI DISCOVER VISION MIXER PLUS. DATA DESIGN... 
EXT S б ed ae EAS СЫР алы UPGRADE VM1 ТО УМ» 450 FLASHBACK. 

PICTUREMASTER........ 5.00 FLASHBACK SE. А 
LEISURE PICTUREMASTER PLUS. 0.00 UPGRADE TO SE VERSION 20.00 
CRICKETSECRETARY. UPGRADETO PMPLUS 500 | GENEALOGIST....... 
QUESTION MASTER GENEALOGIST V2.... 
FLEET TACTICAL GRAPHICS BUDGET GENEALOGIST.. 

COMMAND 2..........................49.95 THE PAINTER 4.04... 2500 | SUPER DISK INDEXER 

FIC DATA PRINTER (HP Deskjet printer option) 
THE FUGITIVE Sor OTHER SOFTWARE 
COCTAILS WAITER QRACTAL..... 20.00 НОМЕ BUDGET (ОК). 

DEMO QRACTAL SCREENS. 5.00 REMIND ME à 
PROGRAMMING IMAGE PROCESSOR V2.. 500 ЅСКЕЕМЕСОМОМІЅЕК........................ 10.00 
BASIC REPORTER ат UPGRADE TO VERSION 2.. 0.00 | SLOWGOLD slow down.. 5.00 
BUDGET QLIBERATOR PD2CLIPARTSCREENS.. 000 — TASKMASTER............. 25.00 





QLIBERATOR 3.35.. 
QLOAD and QREF... 


FILE HANDLING 
FILES 2 
FILEMASTER. 
THE GOPHER 
WINBACK V2.01.. 











D.T.P. 
PAGE DESIGNER 2+ 
PD2 UPGRADE. 

















SCREEN SNATCHER. 
TEXT 'N' GRAPHIX 
TRANS24 converter... 


TEXT 
KING JAMES BIBLE TEXT 





QUILL WP" DOC"FILES. 
SPELLBOUND.. 

SPELLBOUNDSE 
QUICK POSTERS... 
ROBROY SOFTWAREPACK. 











MEGA-TOOLKIT. 
(ready during the summer) 

MINI PROCESS CONTROLLER 
SOFTWAREUTILITY. 
NETWORK PROVER BOX. 








LABELS 
100 disk labels... 
100 m'drive labels... ч 
100 address labels. 







ALL PRICES SHOWN ARE POUNDS STERLING 


























SPECIAL ANNIVERSARY ISSUE 
NEWPORT, RHODE ISLAND, USA - THE EDITORIAL STAFF 


With this issue, we begin our second year of publication. We've received many 
encouraging letters with your subscription renewals, and we'll endeavor to continue 
providing you with a timely, quality publication. We would also like to welcome the many 
new readers who have joined us. 


During the past year you've received advanced information on the latest hardware and 
software developments for the QL, including the QL HDD-CARD, FLP/RAM level 2 
Replacement Eprom, the soon to be released Miracle Systems Graphics Card, Minerva, 
Exeqter and the QL ROM-CARD. 


Articles contributed by QL Users from around the world included, How to Setup the 3.2 
Meg. Floppies, Programming in "C", a Multi-part Toolkit II Tutorial, Hints & Tips, and 
Software Reviews. Our pool of writers has increased with each issue, which we hope will 
continue. IQLR covers the entire spectrum of QL users from novice to expert. Many a 
novice has taught the experts a thing or two. Why not share your insights, experiences, 
problems, tricks, and knowledge with the rest of us, and don't worry about writing style. 
Dick Taylor is one of the best editors in the business, and has saved our articles on more 
than one occasion. 


You asked us to include advertisements, which we've done, but remember, your support 
of the dealers who advertise in IQLR is essential for them to continue. 


Starting with this issue, we will incorporate (from time to time), REFERENCE CARDS. 
These cards contain information and/or commands with explanation, that will help you to 
use programs, utilities, and even operating system equivalents. This issue contains a card 
for TOOLKIT II that was provided by the SeaCoast QL User's Group. 


The frequency with which we publish these REFERENCE CARDS will depend on you. If 
‘you or your group would like to develop one for your favorite application, we'll be happy 
to include it in a future issue. (Ed. Note: I use a half dozen of these crib cards for various 
Editors and even games. They are especially handy for programs I only use occasionally 
and it's much easier than slogging through the manual again). We will also offer laminated 
versions of these REFERENCE CARDS if there is enough interest. The price will be 
$5.95 per card, including shipping in North America. 


By now you've noticed our new logo. Our envelopes will continue to carry the old logo 
until they are used up. Let us know, what you think of the logo and/or other changes. 


IN THE PIPELINE 


Work continues on Miracle System's GRAPHICS CARD. No release date has been 
announced. 


Qview and TF Services of the UK are working on a replacement for the QL's co- 
processor, the 8049 chip. This chip controls the QL's keyboard and serial ports. The 
advantages of using a 8749 or equivalent chip would be increased speed and a stable serial 
interface. A working model was demonstrated at the International QL Meeting held in 
Munster, Germany on March 21, 1992. 


IN THE PIPELINE - (cont) 


Bill Cable of Wind & Wood Computing in the USA is feverishly working to complete his 
innovative financial package for the QL. Named QLERK, it will be to the QL user what 
QUICKEN is to PC users, only better. 


The C-68 "C" Compiler is now in release 2.01, (we expect to receive it shortly). Release 
3.00 is being beta tested. 


NEW FROM DENMARK - ArcED 
SURSEE, SWITZERLAND - URS KONIG 


ArcED is the new professional TEXT-EDITING-S YSTEM for programmers of all QDOS 
compatible computers, written by Steen Kastoft Hansen of Denmark. 


Not just another editor, ArcED offers you a complete new dimension in editing. Itis a 
configurable full screen Text-Editor, with over 35 direct key commands including user 
definable function keys. Its inbuilt command line interpreter has over 80 CLI commands. 
There is a powerful user BATCH file option, and an online help system. 


It has switchable Auto-Indentation and switchable Word-Wrap. Of importance to "C" 
programmers is the switchable Parenthesis-Check. ArcED supports multiple block 
operations, easy block transfer between jobs, multiple Search/Exchange operations, inbuilt 
configurable discard stack, powerful cursor handling, soft and hard scrolling. It is fully 
multitasking, and written in 20K of hyperfast reentrant 68000 machine code. 


For additional information, or to place an order, contact either: 


COWO ELECTRONIC QLYMPIC COMPUTER SYSTEMS 


,Munsterstrasse 4 Quellenweg 18 
CH-6210 Sursee W-4220 Dinslaken 
Switzerland Germany 
Tel: 045 21 1478 Tel: 02134 96694 


ArcED is available on 3.5" or 5.25" diskette and comes with a comprehensive 29 page 
English manual. The cost is 49 Swiss Francs. 


HELPFUL HINT #1: 


It can be difficult to insert a peripheral device (i.e. Trump or Gold Card) into the expansion 
slot of the QL while they are both horizontal. If you stand the the QL on it's end with the 
expansion slot up, you will find that the device will slide in or out without snagging any of 
the components on the card. CAUTION: The QL should always be unplugged to ensure 
power is off prior to making any hardware alterations. Before touching chips, boards, and 
other electronic components, you should use some method of dissipating static electricity. 


FANTASTIC PRICE REDUCTION 
OSBALDWICK, YORK, UNITED KINGDOM 


Miracle Systems have announced a tremendous reduction in the price of their GOLD 
CARDS. The export price for delivery outside the UK is now 200 Pounds Sterling. 


For the price of $350 to $375 US (depending on the current exchange rate when you order) 
you can have a GOLD CARD operating at 16 megahertz, with 1920K bytes of RAM, 
68000 processor, a battery backed clock, and access three floppy disk drives of any 
configuration (3.2M 1.44M - or 720K). To order, write or call: 


Miracle Systems, Ltd. 

25 Broughton Way 
Osbaldwick, York YO1 3BG 
United Kingdom 
Те1:0904423986 


If your wondering what to do with your Income Tax Refund, or just waiting for the price 
to come down, NOW is a good time to upgrade to a GOLD CARD. When calling from 
North America Dial: 011 44 904 423 986. 


CONFESSIONS OF A QL DUFFER 


YARMOUTH PORT, MASSACHUSETTS, USA - SHERMAN E. WATERMAN 


Having been introduced to computers at the hoary age of sixty plus, my first experiences 
were with the Timex 2068 computer (the American version of the Spectrum). In 1984, I 
decided to upgrade to the QL, and I distinctly remember buying my first one from my good 
friend, Bob Dyl, at the lofty price of $499.00. Two weeks later, the price plunged by 
$200. You'll never live that one down, Bob! (Pub. Note: Sorry Sherm, the decision was 
Sinclair's, my shock was ALMOST as great as yours.) 


I don't confess to being a programmer or hacker, and rely primarily on existing software, 
utilizing the PSION suite. 


What do I use My QL for?? Well, one of my retirement hobbies is cooking. I teach a 
senior citizen men's cooking class, two to three times a year, with each running for a ten 
week term. I wrote an Archive based program I call "RECIPE" to keep all my goodies on 
file, it consists of close to 500 recipes, all tried and tested. 


Using "RECIPE", I can print out 4 x 6 cards, individually or the whole file, or if needed, 
to standard 8 1/2 x 11 sheets of paper. I keep a filebox of 4 x 6 cards handy in the kitchen, 
so I don't have to run to the QL for a particular recipe when I'm hungry. If a friend needs 
a recipe, I print it out on a customized sheet of paper with my name and date. RECIPE can 
be called up in sections, ie. entree, salad, soup, dessert, etc. In my cooking class, each 
student receives a cover menu sheet and a hard copy of all the recipes to be made. 


In my spare time, I maintain a database of over 1500 names for a local charity I'm involved 
with. The program is based on Peter Hale's "MAILBAG" program and runs under 
Archive. It's used to print mailing labels, keep account of donations, mailmerge for 
postcards and letters, etc. It is capable of printing out in any order desired; Last Name, Zip 
Code, Alphabetically, Solicitor, etc., etc. 





DUFFER - (cont) 


An Abacus template has developed over the years for all my financial records; expenses, 
income, and investment data is entered weekly. The program calculates my cashflow, 
investment performance, and keeps a running record of charitable donations and expenses. 
Ican tell at a glance, what my current financial position is, and come tax time, all I do is 
send a printout to my accountant, providing all my yearly data nice and neat; no searching 
through numerous shoe boxes, or hunting through drawers looking for long-forgotten 
records. It's a snap! 


What do I do all this with ?? My system consists of a QL (with backup), Gold Card, 
Miracle's Quad Drive Interface, two 3.5" 3.2Meg. ED Drives, two 5 1/4" 720K quad 
density drives, Sinclair RGB Monitor, and a workhorse Panasonic KX-P1124 Twenty 
Four Pin Printer. ED. Note: the programs "MAILBAG" by Peter Hale ($24.95 US) and 
"RECIPE" by Sherm Waterman ($19.95 US) are available from: 


EMSOFT 

P.O. Box 8763 

Boston, MA 02114 

USA Tel: (617) 889-0830 


FOR SALE - FOR SALE - FOR SALE 


MICRODRIVE CARTRIDGES (used) $1.50 each plus postage. 
Gyro Burns - 30 Hanlin Ave. - Athens, OH 45701 USA 
Telephone: (614) 592-3855 


QL COMPUTER (like-new condition with Psion programs) $80.00 
Michael R. Greenfield - 177 Indianola Rd. - Youngstown, OH 44512 
Telephone: (216) 782-7439 


TWO - 3.5" Disk Drives with half height kits $ 25.00 each 
Will Horton - 234 Mauran Ave. - East Providence, RI 02914 
Telephone: (401) 438-0929 (after 7:00PM EDT) 


Back issues of QL World from 1986 thru 1991 $4.00 each plus postage. 
Write or call Bob at IQLR for availability. 


RS-232 PERIPHERAL INTERFACE 
EAST PROVIDENCE, RHODE ISLAND, USA - WILL HORTON 


Recently I have been engaged in a project to collect temperature data to analyze the thermal 
properties of homes. This project will eventually lead to the development of a 
microprocessor controlled thermostat. However, to begin work, data must be collected and 
analyzed to understand the thermal properties of a home in a quantitative manner. 


Ifelt that the QL could help me with this study, but I first needed to build an interface 
between two analog-to-digital converters and the QL. My first thought was to use the 





RS-232 - (cont) 


expansion slot, but since the expansion slot was already occupied with my trump card, and 
I needed a remote sensor, the RS-232 port appeared to be a better choice. This article will 
cover the principles and construction of an RS-232 peripheral interface. 


In order for the QL to receive data from an RS-232 interface it is necessary to have the data 
in a format that the QL can understand. Figure 1 shows what the signals look like for two 
ASCII characters. The first character is a zero represented by the ASCII character 30 
HEX. The second character is the line feed character represented by the ASCII character 
0A HEX. It is important to note that the data you send must be converted to ASCII in 
order that the OL will understand what you are transmitting. The signals in figure 1 are 
produced by the peripheral interface and this is done by a device known as a UART 
(universal asynchronous receive transmit). This device takes parallel data and converts it to 
a serial bitstream as shown in figure 1. 


00001100 01010000 





| ASCII 0 | ASCII LINEFEED | 
00110000В (30Н) 00001010В (0АН) 


FIGURE 1. RS-232 FORMATTED DATA REPRESENTING TWO ASCII CHARACTERS. 


Referring to figure 2 the UART is shown as U2, a 6402 which is a generic part number. 
This device is responsible for producing the signal in figure 1, which will be at a TTL 
level. In order for the the QL to be able to recover the data this signal must be adjusted 
such that the high pulses be between -12 and -3 volts, and the lows be between +3 and +12 
volts. This is the standard for RS-232 data. The device that takes care of this for us is U4, 
an ICL232 which converts the TTL levels to the RS-232 format. Also notice this device 
does not require an additional +/-12 volt supply. 


Now that we are able to transmit the properly formatted data to the QL, the next problem is 
to control the peripheral device. For this job I chose to use an 8748 microcontroller for two 
reasons: first it was inexpensive, and secondly it was easy to program. Referring to figure 
2 the microcontroller is labeled as U2, 8748. This device takes care of communicating with 
the UART and the two analog-to-digital converters (U5 and U6 of figure 2). The 8748 is 
similar to the 8049 used in the QL with the exception of less memory and it is EPROM 
programmable. The microcontroller is programmed to wait for а CTS(clear to send) signal 
from the QL. Once it receives this signal it takes a reading from each of the two analog-to- 
digital converters and converts their eight bit data into three octal characters. This is done 
since the analog-to-digital converters produce an output that can not be represented directly 
by an ASCII character. So their output must be broken down into three octal characters 
and then each character is converted to its respective ASCII equivalent. 


Now that the ASCII characters are ready to send, the microcontroller interrogates the 
UART to see if it is ready to receive and transmit data. When it is ready the first ASCII 
character is sent, the microcontroller interrogates the UART again, an the next ASCII 
character is sent. This will continue until all of the characters are sent. After all the 
characters are sent 
























































ш-н 


жз r1 


жз 


2! 5! 


(220у1 С^“ 
*08020V oov "t Lam 
ON елен 


ano 











AMA теа 


[z50v] ^"^ 
%08020У 
sn 





жый m ELA 
м 
(ена 




















RS-232 - (cont) 


the microcontroller sends the ASCII line feed character, this is necessary since the QL will 
wait for this character when it receives strings of data. 


For this project I used serial port 2, which is configured as the DTE (data terminal 
equipment). What makes using the serial ports nice is that the hardware drivers are already 
in place and it becomes a simple matter of using SuperBasic to read them. By simply 
opening ser2 and using and input command, data can be read from ser2, and then formatted 
back into what actually came out of the analog-to-digital converters. 


The final item to be discussed is the firmware burned into the 8748. The firmware was 
developed with the aid of the Intel Microcontroller Handbook. Enough examples were 
given so that I could adapt them to my particular application. I wrote the object code by 
hand and "fat fingered" it into a prom burner. Things would have been better if I had an 
emulator for the 8748 but things still worked out fine. The firmware was just a simple 
matter of polling the ready line coming from the UART, reading the two analog-to-digital 
converters and transferring the data to the UART. 


If anyone reading this article would like additional information on the topic feel free to 
contact me in care of the IOLR. 


HELPFUL HINT #2 
TIVERTON, RHODE ISLAND, USA - DICK TAYLOR 





With so many new hardware upgrades, I find that I am changing or remounting chips with 
increasing frequency. Just recently I mounted two Gold Card chips (version changes), an 
upgraded MINERVA ROM and the Keyboard Interface, which required lifting the 8049 
chip. Some people have no problems slipping chips in and out of their QLs, but I find I 
have a 50-50 chance of bending or breaking a leg, or worse, causing a hairline crack that 
later results in intermittent problems. A solution that not only improves my odds of being 
successful, but also results in the chips being more solidly seated, is the use of an IC frame 
(or chip carrier) as illustrated above. 


Buy good frames, with machine pins (round legs rather than the thinner spade type). The 
use of these frames allows you to install the chip into the frame while it is out of the QL, 
decreasing the chance of bending a leg. The chip and frame combination can then be 
inserted into the socket on the QL. The round legs go into the socket much easier than the 
legs on the chip and any wear and tear is to the frame, which is much less costly to replace 
than the chip. 








MIRACLE 
SYSTEMS 





К. 7 Nw 
MASTERCARD Ld 
= 





14 day money back guarantee 





See the GOLD CARD at: 


BRISTOL: 
QUANTA AGM 
25th - 26th April 1992 
Walten Park Hotel, Clevedon 
BRUSSELS: 
EUROPEAN MICROFAIR '92 
2nd May 1992 
Eurovolleycenter 
Beneluxlaan, Vilvoorde 
LONDON; 
QUANTA WORKSHOP 
30th May 1992 
St. Helen’s Church Hall 
St. Helen's Gardens 
North Kensington 
London W10 
GLASGOW: 


ALL FORMATS COMPUTER FAIR 
7th June 1992 
City Hall, Candleriggs 








[ А 
To: MIRACLE SYSTEMS Ltd, 25 Broughton Way, Osbaldwick, | 
| York, YO1 3BG, U.K. Tel: (0904) 423986 


Tel: (0904) 423986 


To place an order by phone 
please have your credit card 
ready. For overseas customers 


| Please send me 


TRUMP CARD 
£75 inc VAT (£65 export) 


The economy upgrade for the QL. You get 
768K of RAM + disk interface for 720K (DD) 
drives + Toolkit Il. 


DUAL ED 


DISK DRIVE 
£175 inc VAT (£155 export) 


Two ED 3.5" mechanisms plus power supply 
housed with cables. Ten ED diskettes included. 
720K per diskette with Trump card. 720K, 
1.44M or 3.2M per diskette with Gold Card. 


QL CENTRONICS 
£29 inc VAT (£28 export) 


Connects either SER1 or SER2 to Centronics 
parallel port on any printer. Has 3M cable. 





| l enclose a cheque to the value of: £ 

















number and expiry date, or 


| 
| 
| 
| 
expires (1 СИ B 
| 
| 
| 





we charge the prices shown in |. Or debit credit card О000000000000000 
brackets. | 

To order by post, please fill in 

the form opposite or write to us Name е. Signature ..———— —————— 
quoting your credit card | Ааф 

enclosing a cheque payable to X 





MIRACLE SYSTEMS Ltd. is 


zu 











SYS 





If you're still not a 
member of the user 
club, QUANTA, then 
there’s no time like 
the present to 
contact Bill Newell, 
the Membership 
Secretary, 213 
Manor Road, 
Benfleet, Essex, 
SS7 4JD, 

tel. (0268) 754407 
and join. 







te gs | 
МАЅТЕРСАРО 
ЧЕРЧЕ? 


14 day money back guarantee 


GOLD CARD 


Who is the GOLD CARD for? Well, if you ask 


anybody who's already got one they'll tell 
you everyone should have one. The 
principal benefit is the speed. 
Programs are typically accelerated 
by a factor of four. The subjective 
effect of this is to give the QLa 
completely new feel. 
There's also a bettery-backed 
clock which keeps track of the 
time while the QL is switched off 
50 you don't need to enter the time 
and date when you switch on the QL. 
A standard disk drive connector 
lets you couple the GOLD 
CARD to the old style 720K 
drive or the new dual 3.2M 
drive which, for many users, 
is an excellent alternative to 
a hard disk. 
We've also put 2M of RAM on 
board so you can run more tasks 
simultaneously and manipulate larger blocks of 
data like Quill documents for example. 
Best of all though, why not come to one of the 
venues listed opposite and see the Gold Card 
in action. If you want to see what difference the 
Gold Card will make to you then please bring 
along the software you are familiar with. We 
look forward to seeing you. 







MIRACLE 
TEMS 





Gold Card Owners 
The latest ROM 
version is 2.28. If 
you have an earlier 
version please 
contact us for a free 
upgrade. 


MIRACLE SYSTEMS Ltd, 25 Broughton Way, Osbaldwick, 
York, YO1 3BG, U.K. Tel: (0904) 423986 





THE INTERNATIONAL QL MEETING 
BANGOR, GWYNEDD, UK - DILWYN JONES 


The 21st March 1992 saw the International QL Meeting in Germany, organized by the 
Sinclair QL User Club e.V. Munster-Roxel, NW Germany was the location, and 
QL/QDOS enthusiasts from several countries gathered in a school hall to see, try out and 
discuss everything to do with the QL. I was part of a contingent of British Quanta 
members who travelled by mini-bus from Ramsgate, England, via Dunkirk through 
Belgium and Holland to Germany. 


For a moment, I thought we had come to the wrong place. Surely this was an Atari ST 
show? But no, they all turned out to be ST-QL's upon closer examination, being very 
popular in Germany thanks to the work of people like Jochen Merz. 


Looking around, I quickly took stock of the traders and various user group representatives 
present. From Germany, Jochen Merz was present of course with his well known QL and 
ST-QL products, demonstrating his QD4 editor and a new card game, The Lonely Joker (3 
patience games running in pointer environment), along with Jurgen Falkenburg's range of 
hardware add ons including a low cost hard disk interface, Albin Hessler Software with 
EasyPtr 2 (pointer environment programming aid) and an interesting looking QL mouse (I 
think it was a PC type serial mouse) connected to the serial port on а QL with software to 
make it work with the pointer environment. From Belgium came PROGS (Professional 
And Graphical Software) with their range of graphics and database software. COWO 
Electronic represented Switzerland, showing off QTop software and ExeQtor,(their tower 
system QL). From Italy, Davide Santachiare of Ergon Development was present. Traders 
from Britain included Miracle Systems Ltd who sold a large number of Gold Cards, EEC 
Ltd with a range of products, TF Services exhibiting Minerva and Laurence Reeves (!) and 
the tame robot ‚familiar to visitors of the TF Services' stand at British shows. DJC was 
present, with the range of QL software, and Quanta (the independent QL user group) also 
had a stand there. 


There were members of QL/QDOS user groups from most European countries, including 
those from Qltaly, QL Contact France, Sin-QL-air from Holland, plus visitors from 
Scandinavia and Belgium and possibly other countries, making this a truly international 
event. Language was mostly no barrier - it quickly became apparent that English was the 
standard QL language of communication! Some of us tried to learn some German 
beforehand, but we left the show knowing much more than when we arrived. The local 
people were very patient and understanding with us! 


The level of activity and knowledge of the QL scene in Germany surprised me. I was 
aware that there were a large number of QL and ST-QL users in Germany, but I was not 
prepared for the level of enthusiasm I came across while I was there. The products on 
offer from German companies seemed to all be of a high standard, and clearly explained by 
knowledgeable individuals. Most German users appear to use the pointer environment, 
which is in stark contrast to the British scene. This is probably due in no small part to the 
efforts of people like Jochen Merz. 


ST-QL's are very popular there and I was fortunate enough to be able to borrow one to 
play with while I was there (thanks, Ralf). I was very surprised at the high level of 
software compatibility - not one commercial program I ran on it fell over! It ran QL 
software quite fast, and oh boy, did I love the 4MB environment. Imagine it - twice the 
space of a Gold Card! 


12 





QL MEETING - (cont) 


Several discussions and seminars took place on various subjects from BBS's to Fleet 
Tactical Command, from the future of the QL and QDOS to Minerva and QForth. Sadly, I 
and several others missed most of these because it was not clear what was being held 
where and when, a point to improve for next time.. 


Overall, I was very impressed. It was my first trip to a QL show outside of Britain and I 
thoroughly enjoyed myself, although we all ended up pretty tired at the end. My thanks to 
the organizers, including Franz Herrmann, and everyone else for their friendliness and 
good spirits. I shall definitely be looking for an excuse to go to the next one! 


QL HOME FINANCE-REVISITED 
HADDAM, CONNECTICUT, USA - ROY ARSENAULT 


In the early days of the QL, Sinclair released a number of third party software packages 
under the Sinclair banner. One of the best was a terrific financial software package entitled 
"QL-HOME FINANCE ", written by BUZZ SOFTWARE. 


The popularity of this package was due in part to the speed, flexibility, and features which 
were well ahead of its time. The fly in the ointment however, was the fact that HOME 
FINANCE was not written in reentrant code. As many of us expanded our QL's beyond 
128k, we had to leave our old friend behind. Much has been written about this in such 
publications as Quanta and QL World. 


The solution that worked for me, in running HOME FINANCE with a TRUMP or GOLD 
CARD is the below listed BOOT program. I know that it works with a JSU rom and some 
versions of MINERVA. To run with a TRUMP CARD, replace the current boot program 
with the one offered here. For the GOLD CARD, replace the boot program AND input 
RES. SIZE 200 before hitting Fl. GOOD LUCK! 


100 CLCHP : aCALCHP(256*1024) 
110 IF a-HEX(270868') THEN STOP 
120 x=a+256*1024-512:LBYTES FLP1 HF LDR,x:CALL x+44 


LINKED LISTS AND C -PROGRAMMING 
EAST PROVIDENCE, RHODE ISLAND, USA - WILL HORTON 


My last article on Pointers and Structures demonstrated the way pointers are used to access 
data within a C Program. This article will relate the concepts of pointers and structures to 
another mechanism, the linked list. The concept of the linked list is not unique to the C- 
Programming Language, it is also used in Pascal, however C does give a great deal of 
flexibility in the way it can handle data within a Linked List. Linked lists are used in QDOS 
to allocate user heap. Allocation of user heap is known as dynamic memory allocation in C, 
which will be addressed later in this article. 


1. Structures Revisited 


To begin let us reiterate the use of the structure from my previous article. The structure is a 
means of grouping related elements into a single logical entity, which creates a special data 


13 





LINKED LIST - (cont) 


type called a structure. For example if we were operating a health club and wanted to keep 
track of our clients health profile we might develop a structure as follows: 


struct member 


char name[30]; /*member's name*/ 
int age; /Fage*/ 

int height; /*height in inches*/ 
int weight; /*weight in pounds*/ 


k 


struct member client1 = (John Smith, 34, 68, 155); 
struct member client2 = (Joe Brown, 45, 74, 200); 


main() 


printf("Name: %s\n",clientt.name) 
printf("age: %d\n",client1.age); 
printf("height: %d\n",client1.height); 
printf("weight: %d\n",client1.weight); 
printf("\n"); 

printf("Name: %s\n",client2.name) 
printf("age: %d\n",client2.age); 
printf("height: %d\n",client2.height); 
printf(weight: %d\n",client2. weight); 


) 
The output will be: 


Name: John Smith 
age: 34 

height: 58 

weight: 155 


Name: Joe Brown 
age: 45 

height: 74 

weight: 200 


This program declares two variables, client and client2 to be of structure type member. 
Note that by doing this, client1 and client2 will have associated with it four items: а 
character string called ,"пате", and three integers: age, height, and weight. The variable 
client] is declared and initialized by the statement: "struct member clientl = (John Smith, 
34, 68, 155)". So a variable of structure type member, called client] now exists which 
contains four elements: name, age, height, and weight. The program shows how each of 
the elements are accessed by using a "." and the name of the element following the variable 
name, e.g. clientl.age = 34. 


14 





LINKED LIST - (cont) 

2. Linked Lists 

Now that structures have been presented, here is an application of structures that provide a 
convenient means of handling lists of data, the linked list. A linked list consists of 


structures linked to each other by pointers. The following diagram demonstrates this 
principle. 


STRUCTURE 1 


STRUCTURE 2 


STRUCTURE 3 





FIGURE 1. STRUCTURES FORMED INTO A LINKED LIST 


As can been seen from Figure 1, the linked list is merely a list of items linked together with 
a pointer. We can think of the list as data written down on a piece of paper with the pointer 
indicating where the next list is to be found, so as to keep the information in order. The 
first list is pointed to by pointer "ptrfirst" at the end of the list is another pointer that points 
to the next list of data, and the final list will be terminated with a NULL character indicating 
the end of the list. These pointers are what link the lists together, hence the name linked 
list. The linked list can be made as long as you desire. 


It should be apparent that the linked list is a convenient means of storing data which will 
allow the data to be manipulated in a variety of ways. For instance the data could be sorted 
into alphabetical order, or names of people could be retrieved according to a particular piece 
of data, for instance using the health club example people of a particular weight class could 
be retrieved for study. But what makes this important is that the data is all linked together 
for easy access. 


What makes linked lists nice is that they can expand or contract as you so desire. In order 


to make a linked list grow it will be important to let memory expand as you add another 
item to your linked list. The mechanism that allows this to happen is called dynamic 


15 





LINKED LIST - (cont) 


memory allocation. Dynamic memory allocation differs from static memory allocation in 
that dynamic memory allocation allows memory to be added or removed as required. There 
are two commands in C that are used for dynamic memory allocation: malloc and calloc. 
Malloc allocates a piece of memory the size of the item you want to store, calloc does the 
same but also clears the memory. For instance if you want to store an integer the command 
would look like this: (int malloc( sizeof(int)). This will return a pointer to a space in 
memory the size of an integer. Note here that the type cast operator "(int is also included to 
ensure that the area pointed to is of type integer. 


Now that the concepts of the linked list and dynamic memory allocation have been 
discussed it is time to combine these concepts with the concept of pointers and show how a 
linked list is constructed. 


Once again we will build on the health club example to show how structures are used. This 
program will read data from a file called "flp1 data", this will be data setup as it will appear 
in the structure: name, аре, height, and weight. Fopen will open this file and it will create a 
pointer to the file called "fptr". Review the following program: 


#Include <stdio.h> 


struct member 

{ 
char  name[30]; /*member's name*/ 
int age; /*age*/ 
int height; /*height in inches*/ 
int weight; /*weight in pounds*/ 


struct member *ptrnext; /*pointer to next link*/ 
struct member *ptrfirst, *ptrthis, *ptrnew; 
= 

intret; 

FILE *fptr; 


fptr = fopen("flp1. data","r"); 
ptrnew = (struct member *) malloc(sizeof(struct member)); 
ptrfirst —ptrthis-ptrnew; 

/*read data into the linked list*/ 

pe (ret != -1) 


ret = fscanf(fptr, "%s 96d Yd Фа" ,ptrthis->name, 
&ptrthis->age, 
&ptrthis->height, 
&ptrthis->weight); 


ptrnew = (struct member *) malloc(sizeof(struct member)); 
ptrthis-»ptrnext = ptrnew; /* point to next link*/ 


16 





LINKED LIST - (cont) 


ptrthis = ptrnew; /*go to new item */ 


) 
fclose(fptr); 


ptrthis — ptrfirst; 
Pot te !=NULL) 


printf("Name: %s\n" ptrthis->name); 
printf("age: %d\n",ptrthis->age); 
printf("height: %d\n",ptrthis->height); 
printf("weight: %d\n\n",ptrthis->weight); 
ptrthis = ptrthis-»ptrnext; 


) 


The first thing to notice is that the structure "member", has been modified with the addition 
of a pointer of type "struct member". This pointer is what forms the link to the next list. If 
you refer to Figure 1 you should be able to relate the linked lists and their pointers. 


After the structure type has been defined three pointers of type struct member are defined: 
*ptrfirst, *ptrthis, *ptrnew. Note that these pointers will be used to point to the items in 
the linked list to help aid in loading the list and reading it. 


Next the file "р1 data" is opened and data is ready to be read into the linked list, the 
starting pointer "ptrfirst" is initialized to point to a block of memory of type "struct 
member" remember that this consists of four items: name, age, height, and weight. This 
pointer "ptrfirst" is sacred to the program and must be preserved so the start of the linked 

. list can be located later. The fscan function is used to read the data in from the file and 
place it into the proper location within the list of struct member. Presented here is a new 
operator that was not introduced in my previous article on pointers to structures. Using the 
syntax from my previous article the pointer to a structure looks like this: (*ptrthis).name, as 
opposed to the simpler ptrthis->name. This operator came about since pointers to 
structures were so common the developers of C decided to create a special operator. 


After the first data is read into the structure the malloc function is called again to allocate 
another block of memory, and the pointer "ptrnew" is what will point to this new block of 
memory. Pay close attention here because this is how structures form linked lists. The 
statement "ptrthis-»ptrnext-ptrnew" is what is used to have the previous block of data 
point to or link the next block of data. When the assignment ptrthis-»ptrnext- ptrnew is 
made the pointer "ptrthis" points to the pointer "ptrnext" and the address of "ptrnew" is 
кеше to it. This address is what tells the current block of data where the next block of 
ata will be. 


By using this linked list approach of reading in data the computer can locate memory 
where there is open space. If you tried to save a contiguous block of memory all at once 
the computer might not have the memory to spare. 


Once all of the data is loaded into the linked list it can be operated on in many ways. For 
instance you could sort the data into alphabetical order by clients names, or group the 


17 





LINKED LIST - (cont) 


clients according to one of their particulars. Also it is easy to add or delete a link from the 
list due to the dynamic memory allocation. There are more advanced techniques that can be 
applied to manipulating the data within a linked list but they are not within the scope of this 
article, 


HELPFUL HINT #3 


Occassionally, you run across a program that has an unlistable BOOT program. Attempts to 
list it to the screen results in it executing. The easiest way to get around this is to use the 
command; "COPY Кірі Boot TO SCR". This will display the listing to the sreen. 
You can then copy down the program lines. Recreate the program as a standard SuperBasic 
program with line number. Replace the original boot program with the new one. The 
program should run the same as it did originally, but you will be able to modify and edit the 
boot program to meet your requirements. This technique of listing programs to the screen is 
also an effective way to look at corrupted files or programs that you are having problems 
running. 


SETTING-UP RGB/CGA VIDEO MONITORS 
MASSAPEQUA, NEW YORK, USA - BOB GILDER 


"Why is an RGB monitor better than a composite monitor"? This question has been asked 
over and over again. In simple terms - a composite signal from a computer has every video 
element that RGB signals have. They are: Red, Blue, & Green video signals, Horizontal 
or Composite sync and Vertical sync signals which are combined in one video line. An 
RGB output has separate signal lines for each one of these elements and for that reason 
provide a sharper video image on the monitor crt. 


Human vision is not uniformly sensitive across the visible spectrum but peaks in the 
yellow - green area. In the NTSC system (used in the USA and a few other countries) the 
effects of human response are simulated by adding 3096 of the RED signal, 5996 of the 
GREEN signal and 11% of the BLUE signal. 


Y=0.30R+0.59G+0.11B 


This yields an acceptable gray scale. For an example, the American flag would look as we 
expect it to look in monochrome photos. A system having excessive sensitivity in blue 
would show black bars for the red stripes and a light gray background for the stars. A 
video colorbar generator or a colorbar program running from the QL would display each of 
the eight colors as you would expect to see them. There should not be any tint of blue, 
green or red appearing on the colorbar display if the monitor is set up correctly. A circle is 
normally provided for linearity adjustments of the vertical and horizontal size controls as 
well as centering adjustments. Adjust for a perfect circle in the center of the crt. (ED Note: 
the following Basic program listing will display the eight color bars on the screen witha 
circle in the middle, that you can use to adjust your monitor). 


100 REMark COLORBAR_bas R. Gilder, 1/1988 


1000 cb 
1100 DEFine PROCedure cb 


18 


RGB/CGA - (cont) 


1104 WINDOW #1,448,200,32,16 
1108 WINDOW 42,448,200,32,16 
1112 WINDOW #0,448,40,32,216 
1116 PAPER #1,0: INK #1,5: CLS#1 
1120 PAPER #2,0: INK 42,5: CLS#1 
1124 PAPER 0: INK 7: CLS 

1128 CSIZE #1,1,0 

1132 CSIZE #2,1,0 

1136 CSIZE #0, 1,0 

1140 MODE 8:BORDER 15,250:CLS 
1144 PAPER 7: CLS 

1148 FOR n-1 TO 17 

1152 FOR p-0 TO 7 

1156 PAPER p: PRINT" "; 

1160 NEXT p 

1164 NEXT n 

1168 INK O:CIRCLE 84,50,50 

1172 INK 0:CIRCLE 84,50,.2 

1176 END DEFine cb 


QL users are a lucky bunch for the QL computer has both an RGB and monochrome output 
at the 8- -pin female DIN connector located at the rear of the QL. Also provided on the issue 
6 QL monitor connector is a much needed +5VDC line instead of a PAL (UK signal 
standard - Phase Alternating Lines) signal. 


For some reason Sir Clive chose to provide the QL with a positive vertical sync signal and 
a negative horizontal sync signal. I can only guess that the QL monitor sold in the UK had 
these miss-matched syncs. Most RGB monitors that I am familiar with, have either 
positive, vertical, and horizontal sync signals or negative vertical and horizontal syncs and 


„some have a sync inversion switch to cater to any sync polarity requirement. 


The +5VDC output is provided from pin #1 of the DIN connector and will be used to 
power an IC - either а 74LS00 or a 741.504 to perform horizontal sync inversion. 


In the following diagrams, I use a 74LS00 TTL IC (Quad 2-input positive-nand gate), of 
which we will use pins 1 and 2, tied together to form an inverter input. The signal from 
the QL, which is negative, enters the i input of the inverter, pins 1 & 2. The sync signal is 
now inverted within the IC and a positive horizontal sync signal is available at pin 3 which 
is connected to the horizontal pin on the monitor connector. 


If you happen to have a 741,504 Hex inverter IC, it can also be used - just use pin 1 as the 
horizontal input from the QL and pin 2 will be the inverted sync signal output connected to 
the monitor connector. 


АП parts for this project can be purchased at any Radio Shack store. In addition to 
purchasing the two connectors and IC, you will need a 9 pin 'D' connector hood, and if 
you are careful, it can house the IC - just carefully clip all unused pins on the IC and bend 
pins 1, 2, 3, 7, & 14 in towards the center of the IC. Solder the wires to the appropriate 
pins with minimum solder and install the IC upside down (pins facing up) and the two 
piece connector hood will house it, allowing a clean installation. You will need a length of 


19 





RGB/CGA - (cont) 


cable determined by your requirement. The cable need only be 7 conductors, or if you 
wish, use 7 single lengths of multi-stranded wire to form your cable. 


Male 9 Pin 'D' plug (solder pin side) 
5 4 3 2 1 
о о о о----ә f <—t— Jumper pins 1 & 2 
о о о о 
9 8 7 6 


Connections to the male 9 pin 'D' connector 
Pin #$ 


Ground (common) 

Ground (common) 

Red (RGB signal) 

Green (RGB signal) 

Blue (RGB signal) 

N/C (no connection) 

N/C (no connection) 

Horizontal Sync (negative signal - must be inverted) 
Vertical Sync (Most monitors do not require Neg. sync) 


оомо ыы 





ground —3»» 7 8 ІС-1 will only have 

Use pin #7, IC-1 as common 5 pins used, #$ 1, 
Ground points for both 6 9 2, 3, 7, and 14 
cable connectors - 5 10 
(9 pin 'D' pin # 1 & 2) 
(8 pin "Din pin #2) 4 11 
Horiz Sync out to 9 pin 4 
'D' connector, pin #8 д 2 
Horiz Sync input from — 2 13 —— 

L connector (pin #4 +5 volts from 
бы 1%2 hd 1 14-4-- connector (Pin #1). 
together to form an 
inverted signal input). 


74LS00 TTL IC wired as an inverter - IC-1 
Bottom side up (pins up 


20 


КСВ/УСА - (cont) 


X Plug notch 


6 





| 
2 


8 Pin Male DIN connector (solder pin side) 
Connections to the male Din 8 pin connector 


Pin Ғ5 

* 5 volts DC 

Ground (common) 

Composite Signal (not used for RGB) 

Horizontal Sync (negative sync - must be inverted) 
Vertical Sync (Most monitors do not require Neg. sync) 
Green (RGB signal) 

Red (RGB signal) 

Blue (RGB signal) 


очо ол ыы 


Cable Connector hookup 

"Pin #1, 8 pin Din connector to pin #14, IC-1 (+ 5 Volts DC) 

Pin #2, 8 pin 'Din connector to pin #7, IC-1 (Common Ground) 

Pin #3, 8 pin Din connector NOT USED! 

Pin #4, 8 pin Din connector to pin #5 1 & 2, IC-1 (Horizontal sync input) 

Pin #5, 8 pin Din connector to pin #9, 9 pin 'D' connector (Vertical Sync) 

Pin #6, 8 pin Din connector to pin #4, 9 ріп 'D' connector (Green RGB signal) 
Pin #7, 8 pin Din connector to pin #3, 9 pin 'D' connector (Red RGB signal) 
Pin #8, 8 pin Din connector to pin #5, 9 pin 'D' connector (Blue RGB signal) 
Pin #1 and #2, 9 pin 'D' connector to pin #7, IC-1 (Common Ground) 


Pin #3, 9 pin ТУ connector to pin #7, 8 pin Din connector (Red RGB signal) 


21 


RGB/VGA (cont) 

Pin #4, 9 ріп Т) connector to pin #6, 8 pin Din connector (Green RGB signal) 

Pin #5, 9 pin 'D' connector to pin #8, 8 pin Din connector (Blue RGB signal) 

Pin 46 & #7, 9 pin 'D' connector NO CONNECTION 

Pin #8, 9 pin 'D' connector to pin #3, IC-1 (Positive Horizontal sync output) 

Pin #9, 9 pin 'D' connector to pin #5, 8 pin Din connector if required (Vertical sync) 
Pin ffs 1 & 2, IC-1 to pin #4, 9 pin 'D' connector (Negative Horizontal sync) 

Pin #3, IC-1, to pin #8, pin ТУ connector (Positive Horizontal sync out) 


Pin #7, IC-1 (two wires), to pin #51 & 2, 9 pin Т) connector and to pin #2, 8 pin Din 
connector 


Pin #14, IC-1, to pin #1, 8 pin Din connector (Pin #1 is labeled PAL in the QL manual, 
however, the US QL's have a 5 volt DC connection at this pin). 


List of parts: Radio Shack part numbers indicated 


274-026 8 pin male DIN plug $1.79 
276-1537 9ріп male ТУ plug $0.99 
276-1539 9 pos 'D' Hood $0.79 
276-1801 7400 Quad 2-input NAND gate $0.89 
276-1802 7404 Hex inverter $0.99 * 


278-775 9 conductor, double shielded cable $0.59 per foot 
* Use the 7404 Hex inverter as an alternate IC. 
Additional Information: 


An RGB monitor will display 8 primary colors; black, red, yellow, cyan, green, blue, 
magenta and white. If you purchase a CGA monitor, yellow will appear brown and white 
will be tinted blue or grey looking. This is set-up in the G2's (grids of the picture tube) to 
produce these differences in color because; CGA monitors have one additional line called 
Intensity. CGA will provide 16 colors if the intensity line is used. Try connecting the 
intensity line to a high (45VDC) output on any unused IC pin output. It may work! Yellow 
will be yellow when intensified and white will be white. You may also find that when you 
power-up the QL, the tweed memory check display and the F1 - F2 display will roll until 
you press either function key; then it will stabilize. Try disconnecting the vertical sync line, 
it may eliminate this problem. NOTE: If you require any assistance, contact me. 


22 





READING MSDOS DISKS ON THE QL - PART I: 


The Root Directory 
OAK RIDGE, TENNESSEE, USA - Mel LaVerne 


The original impetus for this article came from having a few Shareware disks lying about, 
gathering dust. Inevitably, I wondered about the feasibility of reading Big Blue's efforts 
on the QL. 


Why another ІВМ to QL program? After all, one can find programs like QLIBM_exe on 
the QUANTA library. Well, aside from access to said library, machine language programs 
are notorious for their pickiness; crashes are all too easy to produce. Besides, if the output 
is not exactly to your liking, modifications can be very difficult. Whence this effort in 
100% SuperBASIC. 


Like so many projects, this one has grown like Topsy. At the present, I anticipate two, 
possibly three articles: this one, on the MSDOS Root Directory; a second on digging out 
information from the disk, once you have determined from the directory where it is; 
perhaps a third on translation into something usable. 


Direct disk access, i.e., the ability to get at individual bytes on the disk, is briefly explained 
in the Trump Card Manual (TCM). First, one must open a channel with, for example, 


OPEN #4, Тірі *d2d'. 
Next, use the Toolkit II command "GET" in, e.g., 
GET #4\position, a$, 


where we have 
position = 1 + sector + 256*side + 65536*track. 


The above works for QL disks. On IBM disks I got 'read/write failed' for odd track 
numbers. Further study of the TCM found the information that using 40-track disks on 80- 
track drives requires that the track number be doubled (or equivalently, double the 
multiplier). Thus, we have 

position = 1 + sector + 256*side + 131072*track, 


for the IBM disks. 


Sector numbering on IBM disks differs from QL practise, in that for a given track, sectors 
are numbered from 0 to 17. On the QL, the corresponding numbering is 0 to 8 on side 0 
and on side 1. To avoid the complexity of determining which system is in use when, I 
shall stick with the QL numbering. 


The complete IBM directory is contained in 12 sectors of track 0, sectors 0-8 on side 0 and 
sectors 0-2 of side 1. On side 0, the only item of interest in sector 0 is the DOS version, 
found in bytes 4-11. Sectors 1-4 contain two identical copies of the File Allocation Table 
or FAT. For the present, at least, we will not be using the FAT. 


The Root Directory is contained in track 0, sectors 5-8 on side 0 and sectors 0-2 on side 1. 


Each file entry is 32 bytes long, giving a maximum of 112 files per disk. The QL does not 
have this limitation. 


23 


MSDOSDir - (cont) 


The program is rather liberally sprinkled with comments that clarify (I hope !) what is 
going on. Note that Toolkit II must be activated. 


Lines 1010 through 1040 constitute the main program. Line 1010 may not be strictly 
necessary but it does tidy things up a bit before we start. 


1000 REMark File = MSDOS Dir cM. Е. LaVerne 5 Apr 92 

1010 CLEAR: CLS: Close34 

1020 out. channel ch: Get. Driv 

1030 Get. Dir: Process. Dir: Print Dir 

1040 Close34 

1050 : 

1060 DEFine PROCedure Close34: CLOSE #3, #4: END DEFine Close34 
1070 : 


Select the output channel and setup the printer, if necessary. 


1080 DEFine PROCedure out. channel(ch) 

1090 LOCal ош, channel$ 

1100 REPeat out 

1110 INPUT ‘Output to screen (S) or printer (P) ? '; channel$ 
1120 IF channel$ == "S" OR channel$ == "P" THEN EXIT out 
1130 END КЕРеа out 

1140 IF channel$ == "S" THEN 

1130 сһ=1 

1160 ELSE 


Open a QL buffer for printer output. 
1170 сһ = 3: OPEN #3; рг 
A neater way of setting printer parameters with TK2. 


1190  BPUT #3, 27,77, 27,120,49, 27,108,10 
1200 END IF 

1210 END DEFine out. channel 

1220: 


This procedure allows selection of either drive 1 ог 2 and opens a channel for direct access. 


1230 DEFine PROCedure Get Driv 

1240 LOCal pick drive, dr$ 

1250 REPeat pick drive 

1260 PRINT VDrive & ? (1 or 2) ';: dr$ = INKEY$(-1) 
1270 IF dr$ ='1' OR $ = 2' THEN EXIT pick drive 
1280 END REPeat pick drive 

1290 PRINT dr$: OPEN #4, Пр & dr$ & ' *d2d' 

1300 END DEFine Get, Driv 

1310: 


24 





MSDOSDir - (cont) 


Extract the DOS version #, vers$, from sector 0 and concatenate the Root Directory sectors 
into one large string, b$, which we may then examine at our leisure. The values of the 
loop variable, p, were pre-calculated from the previously given formula for position, using 
the known values for track, side, and sector. 


1320 DEFine PROCedure Get_Dir 

1330 GET #4\1, v$: vers$ = v$(4 TO 11): b$ =" 

1340 FOR p=6TO9, 257 TO 259: GET #4)p, a$: b$ = b$ & a$ 
1350 END DFFine Get, Dir 

1360: 


Неге we process the information obtained by "Get Dir". 


1370 DEFine PROCedure Process. Dir 

1380 vol 1Ы$ = (по volume label)’ 

1390 er fils = 0: er fils$ = ": fils = 0: fils$ =" 
1400 FORi-1TO 112 

1410 j232*i:c$ = b$(j-31 ТО) 


Having extracted a 32-byte substring from b$, we check c$(1). If the byte is 00, we һауе . 
found the end of the directory and exit the loop. If the byte is E5 (decimal 229), the file has 
been "erased", i.e., removed from the directory but the file is still physically present. In 
that case, we alter c$(1) to "?" to make a printable entry, store it in er fil$ and continue. 


1420 c1 = CODE(c$(1)): c12 = CODE(c$(12)) 
1430 SELectON cl 
1440 =0:EXITi 
1450 = 229; ег fils$ = er fils$ & "?" & c$(2 TO 32) 
1460 ег fils = er. fils + 1: NEXT i 
.1470 ЕМІ SELect 


The rightmost nibble of c$(12) tells us whether there is a "volume label", i.e., a disk name. 
If so, we extract bytes 1 through 11 as the volume label and continue. 


1480 IF BIN(BIN$(c12,4)) > 7 THEN vol 1% = c$(1 TO 11): NEXT i 
Otherwise, we have found a "current" entry. Save it and continue. 


1490  fils$ = fils$ & c$: fils = fils + 1 
1500 END FOR i 

1510 END DFFine Process Dir 

1520 : 


It just what you might expect: prints the directory, listing both current and "erased" files. 


1530 DEFine PROCedure Print, Dir 

1540 CLS: PRINT #ch; ‘Root Directory of '; vol. Ibl$; 

1550 PRINT #ch; TO 40; 'DOS Version: '; vers$N Current Files:' 
1560 files out fils$, fils 

1570 PRINT sich; VTotal current files: '; filSWErased Files:' 
1580 files outer. fils$, ег fils 


25 





MSDOSDir - (cont) 


1590 PRINT #ch; “Тога! erased files: 5 ег filSsNDATES;CHR$(12) 
1600 END DEFine Print Dir 
1610 : 


Outputs the file entries contained in the string a$. 


1620 DEFine PROCedure files out(a$, num) 

1630 LOCal i, j, b$, name$, ext$, side 

1640 IF num > 0 THEN Print. Head: ELSE RETurn 
1650 lena = LEN(a$) 

1660 FOR i= 1 TO lena STEP 32 

1670 $ =а$( TO 1+31) 

1680 пате$ = b$(1 TO 8): ext$ = b$(9 TO 11) 
1690  time$ = b$(23 TO 24): dat$ = b$(25 TO 26) 


MSDOS allocates sectors in "clusters" of two sectors. This cluster # is found in bytes 27- 
28. Length of the file is in bytes 29-32. 


1700  clustr$ = b$(27 TO 28): howbig$ = size$(b$(29 TO 32)) 
1710  clusno$ = where$(clustr$): trsise clusno$, track, side, sectr 
1720 Print Line 

1730 END FOR i 

1740 END DEFine files out 

1750: 

1760 DEFine PROCedure Print Head 

1770 PRINT #ch;TO 49; '|«------ First Cluster ----- > 

1780 PRINT ich; ' File Name’; TO 15; ‘Length’; TO 27; ‘Time’; 
1790 PRINT fich; TO 40; ‘Date’; TO 49;Number Track Side Sector 
1800 END DEFine Print Head 

1810: 


Compute file length. 


1820 DEFine FuNction size$(bytes$) 

1830 LOCal n$, i 

1840 n$ = 0: FOR i = 4 TO 1 STEP -1: n$ = 256*n$ + Sortie 
1850 RETurn n$ 

1860 END DEFine size$ 

1870 : 


Compute location of file's first cluster. 


1880 DEFine FuNction where$(clustr$) 

1890 LOCal n$ 

1900 n$ = CODE(clustr$(1)) + 256*CODE(clustr$(2)): RETurn n$ 
1910 END DEFine where$ 

1920 : 


This procedure decodes the IBM cluster number into track, side, and 


sector. A bit more general than required for the present use, since we already know that the 
track = 0. 


26 


MSDOSDir - (cont) 


1930 DEFine PROCedure trsise(clus, tr, si, se) 

1940 LOCal x: x =clus +4 

1950 tr = INT(x/9); x =x - 9*tr 

1960 IFx «5 THEN si = 0: ELSE si = 1 

1970 se =2*x - 9*si 

1980 END DEFine trsise 

1990: 

2000 DEFine PROCedure Print_Line 

2010 PRINT #ch; name$; '.'; ext$; TO 21 - LEN(howbig$); howbig$; 
2020 PRINT #ch; TO 25; tyme$(time$); TO 37; dayt$(dat$); 

2030 PRINT fich; TO 53 - LEN(clusno$); clusno$; 

2040 PRINT sch; TO 60-(track»9); track; TO 68; side; TO 75; sectr 
2050 END DEFine Print. Line 

2060 : 


Translates the two-byte string time$ into the form hh:mm:ss. 


2070 DEFine FuNction tyme$(time$) 
2080 LOCal n, b$, hr$, min$, sec$ 
2090 n- CODE(time$(1)) + 256*CODE(time$(2)) 


We first convert n into a 16-bit binary string: hhhhhmmmmmmsssss. Note that this allows 
a maximum value of 31 in the seconds field. MSDOS gets around this by recording time to 
the nearest 2 seconds. We double the indicated seconds to get the true value. 


2100 b$ = BINS(n,16) 

2110 hr$ = BIN(b$(1 TO 5)): IF hr$ < 10 THEN hr$ = '0' & hr$ 

2120 min$ = BIN(b$(6 TO 11)): IF min$ « 10 THEN min$ - '0' & min$ 
2130 sec$ = 2*BIN(b$(12 TO)): IF sec$ « 10 THEN sec$ = '0' & sec$ 
*2140 КЕТшп hr$ & ":" & min$ & ":" & sec$ 

2150 END DEFine tyme$ 

2160: 


Translate the two-byte string dat$ into a date in the form: 
dd.mm.yyyy 


2170 DEFine FuNction dayt$(dat$) 
2180 LOCal n, b$, yr$, mo$, da$ 
2190 n= CODE(dat$(1)) + 256*CODE(dat$(2)) 


First convert n into a 16-bit binary string: yyyyyyymmmmddddd. 
Note that the year is stored as an offset from 1980. 


2200 b$ = BIN$(n,16): yr$ = 1980 + BIN(b$(1 TO 7)) 

2210 mo$ = BIN(b$(8 TO 11)): IF mo$ < 10 THEN mo$ = '0' & mo$ 
2220 da$ = BIN(b$(12 TO)): IF da$ « 10 THEN da$ = '0' & da$ 
2230 RETurn da$ & '' & mo$ & '.' & уг 

2240 END DEFine dayt$ 


27 


MSDOSDir - (cont) 
REFERENCES 


1. Trump Card User Manual. T. Tebby, Miracle Systems. 
2. MSDOS Power User's Guide. J. Kamin, SYBEX. 
3. Using the Model 50 & 60. H. Schildt, Osborne McGraw-Hill. 


QL'S ON THE INTERNET 


ALEXANDRIA, VIRGINIA, USA - TIM SWENSON 


The Internet is a loose collection of worldwide computers and networks, connected by 
some sort of physical and logical link. One of the more well-known portions of the 
Internet is the Defense Data Network (DDN). Access to Internet is available through 
gateways provided by many commercial networks such as CompuServe, MCI Mail, Sprint 
Mail, and many others. 


Through a variety of means, a number of QL users have discovered each other on the 
Internet. I have found two QL Users, one in Germany and one in Italy, with which I keep 
up a regular correspondence. Due to the way messages are routed through various 
connections and hubs, messages can take minutes or an entire day to reach the recipient. 


Each person on the Internet has a unique mail address that is "understandable" by the other 
computers on the network. The address is comprised of the person's user name and the 
name of the host computer and node that they use. My user name is tswenson and my 
host computer is sesky4102b.pl.osd.mil. 


The pl.osd.mil is the "domain" that my computer is in. Domains are tree structures, 
arranged from the general to the specific, reading from right to left. First is .mil the 
domain for the military and Defense Department. Then .osd for the Office of the Secretary 
of Defense. And finally .pl for the Office of the Assistant Secretary of Defense for 
Production and Logistics. 


Two people are collecting the e-mail addresses of all known QL/Sinclair users on the 
Internet, including those on CompuServe. They are Giuseppe Zanetti 
(beppe@alessia.dei.unipd.it) and Mauricio Tavares (mauricio@ gauss.aero.ufl.edu). 
Contact them if you are on the Internet to ensure you are included in their list. 


As mentioned above, there is a gateway between CompuServe and the Internet. For 
someone on CompuServe to send me a message, they address the message to 
>INTERNET:tswenson@ sesky4102b.pl.osd.mil. For me to send a message to someone 
on CompuServe with the user id of 7777,777, I send a message to 
7777.777@сотриѕегуе.сот. Check with your commercial online service to see if they 
have a similar gateway. 


Timo Salmi, of QUANTA fame, has set up a anonymous FTP server for the QL. An 
Anonymous FTP (File Transfer Protocol) server is a computer on the Internet that has an 
account set up so that anybody can use the FTP program, connect to the server, and 
download QL files and programs. Even though Timo's server is in Finland, I can connect 
to it from Virginia and download any of the QL files. The server is garbo.uwasa.fi 
(128.214.87.1). 


28 





INTERNET - (cont) 


Just before writing this article, I connected to garbo.uwasa.fi to see what was there. Under 
the directory qN there are a number of subdirectories: pas\ - for Pascal programs, basprog\ - 
for SuperBasic programs, lis\ -for text files, and incoming\ - for uploaded files. Under qN 
there are two information files, QLINDEX and Onews-gl. These text files describe the files 
already on the server. Timo is looking for additional items to be uploaded. 


Starting with the March 1992 issue, the "QL Hacker's Journal" (QHJ) has gone electric. 
As the editor of the ОН] and being on the Internet, I have distributed an electronic version 
of the QHJ to over 40 QL/Internet users around the world. I used the lists created by both 
Giuseppe and Mauricio as the base for my mailing list. The electronic version allows the 
user to strip out the programs and compile/run them with out any re-keying of the source 
code. It also saves mailing costs and reduces the time it takes to get it to the reader. 


To gain access to the Internet, there are a number Public Access Unix Systems around the 
US (and possibly the world) that allow anybody (for little or no fee) to have an account for 
electronic mail. These Public Access Unix Systems are run like BBS's, but they allow you 
access to the operating system and the filing system. If interested, contact me for a list of 
the Public Access Unix systems in the US. 


The overall goal of QL users on the Internet is better communications between QL groups. 
Through my contacts in Europe, I can keep in touch with the latest QL developments. I 
then relay the information to the members of my User Group. There are a lot of programs 
being ported to, or developed for the QL. Through the Internet I can hear about them and 
get access to them. 


As any CompuServe or Internet user can tell you, once you get used to having electronic 
mail, it is sorely missed when you don't have it anymore. Long live e-mail! 


Timothy Swenson 4773 W. Braddock Rd. #3 Alexandria, VA 22311 (703) 820-6657 
tswenson@sesky4102b.pl.osd.mil tswenson@dgis.dtic.dla.mil 
tswenson@se3c763a.pl.osd.mil (one of these is bound to reach me) 


NEW FROM DILWYN JONES COMPUTING 
BANGOR, GWYNEDD, UNITED KINGDOM 


Recently we've released a number of new software packages, and a major upgrade for 
WINBACK (our hard disk backup software), The following is a short description of each 
item. 


The first of the new items is "SUPER DISK INDEX" a very easy to use program that sets 
up a database of the contents of your media, be it disk or microdrive cartridge, and the best 
part is, you don't have to type in all the data, it reads the contents directly from the media. 


The second new item is "SCREEN SNATCHER". This program as its name suggests is a 


picture grabber, in other words it sits in the QL alongside another program and when you 
want to save a copy of the display, you press preset keys and the display is saved to disk. 


29 





NEWS FROM DILWYN - (cont) 


Another new program by way of Germany titled "TRANS 24" is for those of you who 
have 24 pin printers, but use graphics programs that don't have 24 pin drivers. This filter 
program translates the 9 pin bit image data into 24 pin format. 


We are now shipping a major upgrade to our hard disk backup program titled "WINBACK 
VERSION 2". This package is not restricted to hard disks but can also be used with the 
new 3.2 MEG disk drives. WINBACK VERSION 2 is the premier backup program for 
Miracle Systems hard disks and compatibles. It can also be used to backup ED disks to 
DSDD floppies. This version can now split large files across several disks if required. 


It offers full hierarchical hard disk backup. You can make a complete backup the first time 
and from then on only backup those files that have been created or changed since the last 
backup. Large files can be split into 95 sections across several floppys and then joined 
back together at a later time. The Joinfile utility is written in machine code. 


Winback ON and OFF allows for an enforced second backup of files already backed up but 
which the user may wish to backup again. The Directory re-build facility generates a short 
BASIC program prior to reformatting the hard disk. Winback can print a listing as it goes 
along, giving details as work is completed. 


A Clone program is supplied and is a general purpose fast copier suitable for floppy disk 
copying etc.; a Dataspace utility is also supplied that can be used with any task to alter its 
dataspace, and finally a free device driver called BLACK. HOLE is supplied that сап be 
used in your own programs for fast dumping of output and testing output routines. 


For pricing and ordering/upgrading information please note our advert in this issue of 
IQLR. (ED. NOTE: Several of Dilwyn's new programs are under review and will appear 
in the next issue). 


QL WORLD - SOLD AGAIN 
LONDON, ENGLAND 


It has just been reported to IQLR, that QL WORLD has been SOLD by the people who 
purchased it from the collapsed Maxwell Empire. 


The new publishers are reported to be a company named ARCWIND, and we believe that 
Helen Armstrong will remain as editor. The May 1992 issue will be late by a couple of 
weeks, then regular publication should resume. The new owners have stated that they will 
honor ALL current subscriptions. 


IQLR SPECIAL 
NEWPORT, RHODE ISLAND, USA - BOB DYL 


We are happy to announce that IQLR has made special arrangements with C.G.H. Services 


of the UK, and author Simon Goodwin, to offer the D-I-Y TOOLKIT of QL World fame, 
as a group buy, in its entirety at a bargain price. 


30 





SPECIAL - (cont) 


The D-I-Y TOOLKIT is comprised of 19 volumes and contains a wide range of software 
accessories including; BASIC TOOLS, CHANNELS, DISK TOOLS, ERROR 
CONTROL, FILE TOOLS, GRAPHICS, MULTIBASIC, NETWORKING, PIPES & 
PARAMETERS, QUEUES & QDOS, to name just a few. 


The complete D-I-Y TOOLKIT is supplied on three 720K disks (3.5" or 5.25"); all of the 
volumes include well written user, system, and technical documentation in QUILL. DOCS, 
along with SuperBasic and compiled demos, assembler source and object code, testers, and 
much, much, more. 


The selling price for this tremendous package has been 60 Pounds Sterling (approx. 
$106.00 US at current exchange rates). For a limited time, you can purchase the entire 
package for $50.00 US plus $5.00 S & H delivered in North America. For the rest of the 
world the price is $50.00 US FUNDS plus $7.00 S & H. 


We can accept Pounds Sterling or DM currency, equivalent to the US Dollar amounts 
quoted. Send your orders plus check, cash, or money orders, to IQLR - 15 Kilburn Court 
- Newport, RI 02840 - USA. Please specify disk size. 


DATADESIGN : REPLY TO THE REVIEW 
VELTEM, BELGIUM - JOACHIM & NATHAN VAN DER AUWERAS 


"Thank you for your review of our database program DATAdesign. As DATAdesign is 
constantly being improved and developed, we would like to point out the improvements 
made since the release of the reviewed copy. So here we go: 


1) After you load the hotkey system, you have to type HOT GO if you want to use <alt- 
, enter». It is now included in the boot file and will be included in the next version of the 
manual. 


2) In the next version we will include commands to load and save files in the export format, 
thus omitting the current separate program which only converts ARCHIVE export to 
DATADESIGN files. 

The current program however converts MUCH FASTER as it is no longer written in Basic. 


3) The current versions automatically displays the first record of the file when loading. 


4) True again, flexible screen layouts are due for our next version which we hope to release 
in September/October. 


5) Using examples in the manual is a good idea and we'll work on it for our next version. 
We would like to point out that we are programmers, and that sometimes we forget about 
what database users want and need. Therefore we need you and your reader's input to help 
us develop Datadesign into the best database on the market. 


6) Current versions of Datadesign can sort up to ten fields. An example of user input, is 
that we didn't realize someone might need more than two levels. When it was reported that 
someone needed three, we made it ten, just to be on the safe side. If you'd prefer 15 sort 
levels, no problem, YES, sorting works to any depth. 


31 


DATADESIGN - (cont) 


Just for the record; View now shows as much records as can be displayed in the window, 
MERGE, CLEAR ALL MARK, NEW RECORD, have been added. FILTER has been 
improved, WINDOW SIZE is now saved and adjusted when loading, the program can now 
be executed with a file loaded. АП file handling now uses DATA USE device and adds 
extensions when necessary. 


The SuperBasic interface now multitasks as it should. We've reached version 2.07 of the 
main program, version 1.07 of the engine, and version 2.02 of the SuperBasic interface. 
Compared with the reviewed version the SuperBasic interface has changed drastically, and 
is now much easier to handle. 


Thanks again for the good work, and the best of luck with IQLR. 


(ED. Note: The original review of DATADESIGN by Bill Cable is in issue 5, volume 1 of 
IQLR.) 


NEW FROM JOCHEN MERZ SOFTWARE 


DUISBURG, GERMANY 


А couple of exciting new products have emerged from Jochen Merz; the first is "SER 
MOUSE'" a software driver which allows you to connect a MS-DOS serial mouse to one of 
the serial ports of the QL. 


This software mimics exactly the QIMI mouse interface, without the need to open up your 
QL to install an interface, and the price savings is more than 50%. In addition, if you 
purchase a three button mouse you can take advantage of some additional functions: the 
center button is ESC, left + center is WAKE, and right + center is SLEEP. 


The second new offering is a game titled "THE LONELY JOKER". It is a solitaire card 
game based on three different patiences: Echelon, Napoleon, and Cascade. All three games 
are very addictive, with different variations per game. You control the game either by 
mouse or keyboard as it runs under the Pointer Environment. 


Jochen has released a major upgrade to his editor "QD 4". This first class editor includes 
the best features of other known editors, together with the advantage of being menu-driven 
by mouse or keyboard. QD is the first editor that runs under the Pointer Environment. Its 
features would require much more space than we can allot to it here, but let us add that its 
our EDITOR of choice at IQLR. 


A second major upgrade from Jochen Merz Software is "QDESIGN II", written in 
reentrant code, vectorfonts may be shared. The QSNAP function can be used to scan QL- 
text from the screen and put into the SCRAP function so that it can be processed from QD, 
in addition to all of its other features the manual has also been improved. 


For more information on these products or to place an order, please see Jochen Merz 
Software's advert on the back cover of this issue. 


32 





Кайаша OL/Thor Users Group 


Worldwide Membership is by subscription 
only, and offers the following benefits: 
Monthly Newsletter – up to 40 pages 

Massive Software Library - mostly FREE! 

Free Helpline and Workshops 

Regional Sub-Groups. One near you? 

Advice on Software & Hardware problems 
Discounts from most major suppliers 
Subscription just £14 for UK members 

Overseas subscription £17 


Barclaycard: Visa: Access: Mastercard 


* Now in our NINTH successful year * 


Further details from the Membership Secretary 


Bill Newell 
213 Manor Road 
Benfleet 
Essex. 557 4JD 
Tel (0268) 754 407 





TOOLKIT II TUTORIAL - PART 4 

ADAPTED FROM: QL TECHNICAL REVIEW (C.G.H. SERVICES) 

(ED Note: As in the previous parts, this tutorial is intended to supplement the Toolkit 11 
Manual and the paragraphs are numbered accordingly). 


9. JOB CONTROL 


Тһе QL was the first affordable computer to allow multitasking. It's one of the many 
features that still sets it apart from the herd, and yet, is one of the most difficult to control 
satisfactorily on a standard machine. It is also one of the areas that most interests 
"Tinkerers' like myself. 


The extensions for job control are documented in section 9 of the Toolkit II manual. There 
are four commands (JOBS, RJOB, SPJOB, and AJOB) and four functions (PJOB, OJOB, 
JOB$, and NXJOB) provided. 


9.1 JOB CONTROL COMMANDS 


JOBS lists the current jobs. By default the output will go to #0, but as with standard 
SuperBasic procedures, the output may be sent to any other channel by simply appending # 
and the channel number. Thus JOBS #2 will display a list of jobs in #2. 


Toolkit II also allows implicit channels. That is, if you wish to send the output to a device, 
you need not open a channel to that device, send the the output to the channel (as stated 
above) then close the channel, but you may append the command with and the device 
name. The following will create a file JOB TXT on flpl that contains the list of jobs on 
the system: 


JOBS \рі1 job txt 
You can just as easily print out the list of jobs with one command: 
JOBS Werl 


With SuperBasic as the only job in the machine, the JOB command would display a table 
as follows: 


Job tag owner priority 
0 0 0 


SuperBasic does not have a job name. Names are normally displayed after the job priority. 
If a job is suspended (see SPJOB below) then an 's' would be shown immediately to the 
left of the job priority. 


RJOB allows you to remove a job (other than SuperBasic) from the machine. RJOB is 
followed either by the job name or by the job id. The job id is a combination of two 
parameters, the job number and the job tag. These values are displayed by using the JOB 
command. If you execute a program, mandelbrot, using the command ex flp1_mandelbrot, 
the JOB command would produce a list as follows: 


Job tag owner priority 
0 


0 0 
1 0 0 8 mandelbrot 


34 





TOOLKIT II - (cont) 


Note that a job activated by SuperBasic will start with a priority of 8. Some jobs will not 
have names. The job mandelbrot may be removed as follows by the command RJOB 
mandelbrot. 


There is a further parameter that may be added to the command. This is an error code 
which through the use of machine code could be read by the parent job (that job that started 
the job being removed). Thus you could type RJOB mandelbrot,-1. This isn't relevant to 
the user of SuperBasic except that it appears when you follow RJOB with the job id instead 
of the job name, the error code must also be used. Thus you would type RJOB 1,0,-1. 
The reason for using the job id as a parameter is that some jobs do not have names. 
Another reason is that it is possible to have many jobs with the same name. If the job name 
is used, then QDOS will remove the first of that name. 


SPJOB allows you to set a jobs priority. As stated earlier, a job started by SuperBasic is 
given a priority of 8. If the job is required to run faster or slower then you must raise or 
lower its priority. Like RJOB the first parameter is either the job name or job id. If a job id 
of -1 is used then the current jobs priority is altered. (If you type SPJOB as a direct 
command it would be SuperBasic, however, if SPJOB is used in a SuperBasic program 
that is then compiled an argument of -1 would refer to the compiled program). The second 
parameter is the priority. This is an integer between 0 and 127. A priority of 0 means the 
job will become inactive (it will not get a share of cpu time). 


Thus, if you wished to alter the priority of the job mandelbrot (as used in the example 
above) you could type either of the following: 


SPJOB mandelbrot,16 
SPJOB 1, 0, 16 


We would then expect the job to run approximately twice as fast. Note the speed of 
«execution of a job not only depends upon its priority, but also upon the availability of 
resources it wishes to use. For example, only one job mày use the keyboard at a given 
time, so if a job requires input and the keyboard is already in use, then it will be suspended 
Я QDOS until the keyboard is available (either because the first job has finished ог control- 
is used). 


AJOB is used to activate a program which has been loaded into memory but not previously 
started. (If a job has previously had its priority set to 0 it could be reactivated either by 
setting its priority to a positive value or by using AJOB. A job executed with the command 
ET would be in an inactive state until activated by further commands such as AJOB). 


9.2 JOB STATUS FUNCTIONS 
PJOB returns the priority of a job, as with the commands above, the job may be specified 
either by its name or by its id. Since it is a function the job name or id must be enclosed in 


brackets. Thus you might type PRINT PJOB (mandelbrot). From within a program you 
might wish to double a jobs priority: 


39 





TOOLKIT II - (cont) 


150 PRINT 'Do you wish to speed up mandelbrot?' 
160 answer$ = INKEY$ (-1) 

170 IF answer = = 'Y' THEN 

180 priority = PJOB (-1) 

190 priority — 2 * priority 

200 SPJOB -1, priority 

210 END IF 


If mandelbrot is a SuperBasic program the inclusion of a section similar to the above would 
allow you to speed up the job. Of course, this only has an effect if other jobs are running, 
if only one job is active on the computer it will take the same amount of time to run, if its 
priority is 1 or 127. 


OJOB returns the id of a jobs owner (ie. the job from which it is activated). In our 
example, PRINT OJOB (mandelbrot) would print 0, the id of SuperBasic. 


JOBS returns the name of a job given its id. Thus, PRINT JOBS (1, 0) would print 
‘mandelbrot’. This is useful in any programs that refer to other jobs: you may wish to job 
ids in calculations but when it comes to displaying information it is better to convert to the 
job name. 


NXJOB returns the id of the next job in the job tree. In our example NXJOB (0) would 
have a value of 1 ie. the next job after SuperBasic is mandelbrot. As more jobs are 
activated on the machine the Job tree becomes more complex. Jobs may be activated by 
SuperBasic or by another job. 


Super Toolkit II thus provides a set of commands and functions for controlling jobs and 
finding out information about jobs. It would be nice to have more functions for example, a 
function that returned the location of a job in memory, its length, the location and length of 
data itis using etc., etc. Much of this information can be found using machine code. 


END OF PART 4 
AUTHOR: Stephen Bedford 


LATE BREAKING NEWS 


NEWPORT, RHODE ISLAND, USA - BOB DYL 


: After we had gone to press with this issue, I had two telephone conversations, the first 
with Phil Borman Chairperson of QUANTA, and the second with Stuart Honeyball the 
genius of MIRACLE SYSTEMS. 


The nature of the conversations were such, that we decided to "STOP THE PRESSES" and 
insert this report. 


The conversation with Phil dealt with items that came up during the QUANTA AGM held 
on 25 April 1992. Some interesting news is that a second source is developing a mid-range 
VGA graphics card for the QL, an improved network capability will be offered soon by 
QUANTA and Jochen Merz Software. 


36 


2 


NEWS - (cont) 


The MIDI interface is now available from QUANTA but is not Gold Card compatible, a 
second one is being developed to resolve the problem. A rumor was circulated that an 
unidentified person would demonstrate an 8 MEG memory board using the 68030 
processor, at the meeting. 


The conversation with Stuart dealt with the many rumors floating about the QL world 
concerning Miracle Systems. With the patience of Solomon, Stuart answered all my 

questions, and then authorized IQLR to print his comments on current projects being 
worked on by Miracle Systems. 


As we stated earlier, in the article "IN THE PIPELINE", work continues on the graphics 
card, and it will have a. parallel port plus unspecified goodies. Being reported for the first 
time, is a card that will enable PC and PC clone owners to run QL software using Tony 
Tebby's SMS-2 QDOS clone, that's right a QOL EMULATOR for PC's. Can you imagine 
how this could expand our user base !!! 


Another project in the works is a SCSI interface for the QL, this will open up the QL to a 
wide range of available hardware. As in all cases, Miracle WILL NOT advertise a launch 
date until the item or items are actually ready for shipment. 


But having some knowledge of the market place, we believe we could see one or more of 
the items mentioned above, ready for the Christmas selling season. It would be good 
business. (ED. NOTE: QDOS (5М8-2) is already running on the Atari, will soon be 
running on PC's. Is it possible that it could also be running on MAC's and AMIGA's 


QTOP AND THE 3.2 MEG DRIVE 


TIVERTON, RHODE ISLAND, USA - DICK TAYLOR 


In the previous issue, I mentioned that I wanted to write an article explaining how I was 
using my 3.2 Meg drive as a mini harddrive. As luck would have it, I had just about 
completed setting up my first "Master Disk", when COWO ELECTRONIC came out with 
an upgrade to QTOP (the front-end that I was using as a program manager). The bottom 
line is that although I have shifted to the new version (1.11), I still have a ways to go 
before I could say that I am completely familiar with all it's capabilities. 


QTOP is an excellent application to use as a "front-end". It works with all QDOS 
compatible computers including, the QL, THOR, Atari-ST with QL emulator, the Amiga 
with QL emulator as well as.the new ExeQtor. Qtop is also compatible with both the Gold 
Card and Minerva. 


Qtop really comes into its own when you are involved in a work session and find that you 
need many different capabilities outside of your main application. With the use of "CTRL 
C" you can cycle between any of the applications you have running, the Qtop menus as 
well as SuperBasic. 


Qtop boots up from the ED floppy in less than seven seconds. This includes activating 


Toolkit II, the Pointer Environment (mouse) and the Window Manager. Qtop displays 
across the bottom of the screen, the day of the week, the date and time as well as free 


37 





QTOP - (cont) 


memory. The initial screen displays the main menu which allows you to select submenus. 
From this first and second tier menu system alone, you have a choice of over a hundred 
options. This structure and options are illustrated in figure 1. 






MAIN MENU 

































JOBS 
LIST JOBS 
JOB-INFO 
VIEW JOB 
OWN PRIOR 
PRIORITY 
REMOVE 
SUSPEND 
RELEASE 


DEVICES 
DATA, USE 
PROG, USE 
SPL USE 

FLP USE 
RAM, USE 
WIN USE 

NFS USE 
DATA & PROG 
RESET USE 
FILE-DEVS 




































PROGRAMS 
BACKUP 
CONVERT 
FILED 
DISCED 
XCHANGE 


Figure 1, QTOP Fisrt and Second Tier Menu Options 


Тһе two main menu options that I would like to cover briefly in this article are 
PROGRAMS and MY PROGS. Both of these submenus can be configured with whatever 
programs you desire. The only restriction is that the name on the menu must be the same 
as the name of the executable file that starts your program, so you may have to rename your 
file so that it will fit on the menu. 


Iam still a long way from being satisfied with my selection of programs, but still have 
room to add several more before I have to delete one to open a spot on one of the menus. 


38 


QTOP - (cont) 


On the PROGRAMS menu I have setup the following selections: BACKUP (a fast 
backup), CONVERT (copies a microdrive to disk and converts MDV to FLP), FILED (a 
file editor also useful for manually converting МОУ to FLP, as well as altering on screen 
prompts of foreign language programs to English), DISCED (a disk editor), XCHANGE 
(a multitasked set of the PSION programs), SANDL (a Savings and Loan program for 
calculating loan payments and amortization schedules), QUILL, EASEL, ABACUS, 
ARCHIVE and CONFIG ( a Tony Tebby configuration program). 


On the MY PROGS menu, I have setup the following selections: ARCED (an editor), 
MASTER SPY (an editor), QSHANG (a Mahjonn or Shanghai type game for a quick” 
break from a work session), QD III (an editor that uses the QIMI mouse), DISCOVER 
(will convert a QDOS disk and files to MSDOS and vice versa), COMPARE (compares 
two files and highlights any differences. Useful when you need to determine the latest 
version of a file or if two files with the same name are identical), QRAM (not really needed 
as QTOP duplicates most of the functions, but it is an old friend) and DS (a disassembler). 
In addition to these programs, there are still three open slots on the menu for additional 
programs. 


The above selections are certainly not final for this disk and as I find a need for additional 
programs, I will add them. I have been toying with the idea of adding the C-68 Compiler, 
but have been holding off until I decide wether or not to make that part of my second 
Master Disk. 


How much space on the disk did all of these programs use up? Of the 6440 sectors I 
started with on the ED floppydisk, I still have 4124 sectors remaining. With almost two 
thirds of the disk space remaining, so it is unlikely that any combination of twenty or so 
programs would exceed the capacity of the disk. 


The best part of this system is the fast access speed of the ED drives (19 ms). ALL of my 
+ applications on the PROGRAMS and MY PROGS menus execute in less than THREE 
SECONDS. This speed of execution provides me with the advantages of a Harddisk 
without the high cost. 


With the ability to create and use subdirectories, the possibilities for setting up Master 
Disks on an ED drive are endless. You certainly don't have to use Qtop, Taskmaster, Qpac, 
Qram or any other program manager, although I certainly find it advantageous, plus it gives 
me an almost unlimited toolbox at my fingertips to draw from. 


Qtop can be obtained from: 


COWO ELECTRONICS (Urs Konig) 
Munsterstr 4 

CH-6210 Sursee 

Switzerland 

Tel: 045 211478 


39 





SUBSCRIPTIONS / ADVERTISEMENTS 


IQLR is published by SeaCoast Services of 15 Kilburn Court, Newport, Rhode Island, 
USA. Our telephone number is 401-849-3805, business hours are 10:00 AM to 9:00 PM 
Eastern Standard Time, (1500 - 0100 GMT) Monday through Saturday. 


ALL material published in IQLR remains the property of SeaCoast Services, and is 
COPYRIGHTED, unless otherwise specified. Written permission from SeaCoast Services 
IS REQUIRED for use of material printed in IQLR. 


SUBSCRIPTION RATES: $14.95 per year (US FUNDS) for the US, $16.95 per year 
(US FUNDS) for Canada, and $28.00 per year (US FUNDS) the rest of the World. 
Single issue rates are $ 3.00 US, $4.00 Canada, $5.00 rest of the World (US FUNDS). 
We will accept Pounds Sterling or DM bank notes (currency) equivalent to the US $ 
amount. 


IQLR is published 4 to 6 times per year, with individual issue size determined by the 
amount of available material. Our subscription year is 1 May through 30 APRIL. 


Mid-year subscribers will be sent back issues for the current year. 


ADVER RATES: $15.00 per QUARTER PAGE per issue. 
$25.00 per HALF PAGE per issue. 
$50.00 per FULL PAGE per issue. 


Advertising rates are quoted in US Dollars, we will accept Pounds Sterling or DM bank 
notes (currency) equivalent to the US $ amount. 


THE ADVERTISING DEADLINE FOR THE NEXT ISSUE IS 20 JUNE. 


IOLR WILL REVIEW OR RETURN ANY COMMERCIAL HARDWARE AND 
SOFTWARE SUBMITTED. 


DISCLAIMER: SeaCoast Services reserves the right to publish, edit, or reject any 
submitted material, and under no circumstances will SeaCoast Services be liable for any 
direct, indirect, or consequential damage or loss arising out of the use or inability to use, 
software or hardware related items published in IQLR. 


40 


text? 7 D | а 54 version 2 Is available now! 


A Quantum Leap in QL Wordprocessing 
EASIER THAN EVER 


You do not even need the manual to use text87plus4. Automatic setup and 
installation program allows you to select the appropriate printer-driver (some 30 ready- 
made drivers are supplied) then copies all the necessary files to your working disk. 
Beginner's mode with short menus hides the more advanced features of the program. 
Commands and key-presses are highly compatible with those used in Quill. On-line 
help is provided with every menu and more extensive help can be put on constant 


display. 
THE MOST POWERFUL QL WORDPROCESSOR 


Enhanced menu system offers more context-sensitive information and instructions. 
Optional fast escape from any menu to the editing window. New selector boxes for 
choosing typefaces, screen founts, etc. 


Extensive editing facilities include cursor move (by character, word, line, paragraph, 
screen, page) erase (by character, word, line) block operations (copy, move, delete) goto 
(line, page, top, bottom, block). Insert and overwrite modes. Very fast search and 
replace backwards and forwards, case dependent and independent. Special characters 
include hard-space, hyphenation, hard and soft hyphens. 


File operations include load, save, merge, block save (in plain ASCII or as fully 
formatted document) import (Quill files retaining bold, underlined, etc. or any other 
file, including those exported from Archive and Abacus or from other programs). 


Enhanced spell checker with selector boxes for browsing the dictionary and automatic 
replacement of the selected word which is automatically capitalised if the original 
began with a capital. Choose between large (over 210,000 words) and small English 
dictionaries or French or German (all supplied with the program). Form your own 
additional specialist dictionaries or edit any of the existing ones. The large 
dictionary also contains the American spelling of the words. 


Up to 8 documents can be open simultaneously. More than one window can be open 
over each document so that you can edit the text while looking at a different part of it 
or at a different Gocument. Windows can be arranged and resized manually or 
automatically and switched instantly. Page and column ends are constantly displayed 
on the screen, taking into account all the changes of line-spacing. Page preview shows 
full A4 pages before you commit the text to paper. 





UNRIVALLED PRINT QUALITY 


In text and character formatting, text87plus4 is miles ahead of the so-called 
competition, Simply, no other QL program can produce similar results. Used with 
the appropriate printer-driver, text87plus4 can utilise the different founts and character 
sizes built into modem printers. It fully supports proportionally spaced founts (such 
as used for this text) and justifies them correctly. You can use any combination of 
small and large founts and be assured of a perfect printed result. You can set up 
multiple paragraph formats with different amounts of line-spacing for each. You can 
also format the page the way you want, using several columns plus headers and 
footers. For desktop publishing, you can use several different page layouts in the same 
document. Includes the American Letter size for page layout. 


THE FASTEST QL WORDPROCESSOR 


text87plus4 is much faster than the so-called competition. Tested on an ordinary QL, 
text87plus4 reformatted a document of 385 lines after changing its right margin in 5 
seconds, the other wordprocessor took 280 seconds! (this is not a printing error). Plus4 
completed an automatic search/replace (58 instances) in the same document in 5 
seconds, the ‘other’ program took over 100 seconds! Even a single paragraph reformat 
took 6 times longer on the other program. The test document was an ordinary text 
included on the plus4 disk. 


plus4 is fully compatible with all QL roms (including US), Trump Card, Gold Card, 
Atari Emulator (also in the 768*280 pixel mode). Toolkit П Altkeys can be used and 
can be Hotkeyed in the Pointer Environment. Compatible with ОрасП and Taskmaster. 


More information on text87plus4 and drivers is available on request 


Prices (inclusive of Air Mail to United States) 


text87plus4 £79 
upgrade to plus4 from older versions inquire 
2488 drivers for 24pin printers £15 
typeset90-deskjet drivers for all HP Deskjets £20 
typeset90-Epson GQ3500/5000, EPL4100 /7100 lasers £40 
fountext88 + founted89 for 9 & 24-pin printers £40 


For immediate dispatch, send your order with credit card details to: 


Software87, Road, London NW3 2JU, 
ENGLAND 


33 Savernake 


Or contact our US distributors: EMSoft, Boston, MA 





Inl X... 


Ва злата «АНЗ Maia 
im Шат ЧАЙАН] 12 ә УИ) [б ЧУ) 451 
Telephone and az а 0909-90909 Conny NEWS ~ NEWS .. NEWS 


Jochen Merz Software is the largest supplier of high quality software that runs under QJUMP's Pointer Environment | 
(PE). This hardware-independent environment is the very advanced and easy to use windowing system for QDOS, that 
is the path to the future for QL users. We support the PE by supplying software development tools, documentation and 








the QL-Emulator. 


For more details on our complete range of products write or send a fax! 


QD Version 4 - The first (and only) Editom using the PE. Dynamic memory ol- 
locotion, no limit on nrs of lines, comfortable block-hondling ond mony, mony 
new features, e.g. improved print menu, better search/replace, GOTO Proce- 
dure ond Function, even Machine code label. With new Menu Config which ol- 
lows you to configure all programs using the standard CONFIG block, but menu 
driven. £38 DM 112,10 $60.80 


QMenu - the Menu Extension V3 QMenu is а very easy to use interface 
with pre-defined menus (c.g. multi-column file-select, simple-choice boxes, se- 
lect from lists, error hondling). These menus may be used from SuperBASIC, mo- 
chine code and otherlonguoges.£13 DM 38,35 $20.80 


QSUP - System Utility Package Different sorts of programs ond exten- 
sions which help you setting up ond using your mochine (e.g. Translotion-Toble 
Editor, Notepad). £26 DM 76,70 $41.60 


Thing & EPROM Manager Оо you wont to put your Extensions, Things, Jobs 
etc. into EPROM? The EPROM Manager helps you by creating files which ore 
ready-to-burn. It contains also the very useful Thing Extenion Il, which gives 
you full control over Things from SuperBASIC. £18.50 DM 54.58 $29.60 


НЕ - the FileFinder Running under the PE, Fifi is easy to use ond extremely 
useful. Fifi scans devices or directory trees and searches files or filenames for 
strings. Combinations ore possible, e.g. String1 AND string? BUT NOT string3 
etc. £13 DM 38,25 $20.80 


DISA - Intelligent Disassembler which allows you to disassemble interok- 
tively any kind of mochine-code. Completely pointer-controlled = very easy to 
use. Generates ASCII-output which may be assembled using the GST (Macro) 
Assembler. DISA also tries to insert label names (used in the Technical Guide 
ond the Reference Manual), and also knows QDOS standards (e.g. Proc/Fn to- 
bles, ROM-heoders, CONFIG-format etc.) £27 DM 80 $44 


QDOS Reference Manual - This book is а must for all m-code progrom- 
mers. It explains how to use ODOS, all trops and vectors, the Thing System, the 
HOTKEY System Il ond much more. It points out which features work on a Ql, 
оп Emulator and how to write compatible for future operating systems. DIN А5, 
over 170 pages. £27 DM 80 $44 


ОРТЕ - The Pointer Environment Toolkit Revised manual which describes 
how to use the Pointer Interface and the Window Manager from SuperBASIC 
and machine code, even how to setup standard CONFIG tables. ОРТА comes 
with examples on disc. All necessary keys, macros and extensions for SuperBA- 
SIC ore supplied. £30 DM 88,50 $48 


FLP/RAM Level 2 - Replacement EPROM for SuperQBoards (V1.17 onwards, 
with & without mouse) or IrumpCard (please specify)! Real sub-directories! Ql- 
Emulator ond Gold-Cord compatible! With ATR-device (to read and write MS- 
DOS/ATARI discs). About twice os fast, with improved slove-block-hondling! 
(NotJM ROMs!) £18 DM 53,10 $28.80 


EASYPTR II - Create your own PE menus & sprites, use them in your own Su- 
perBASIC or machine-code programs. Creating Menus was not easy, until now! 
Put all the items you need on screen, that's it! Supports all the PE facilities, even 
split sub-windows and uses the Menu Extension! Now even complete applico- 
tion-sub-windows тоу be created! Mony examples and better monual! £49 
DM 144,55 $78.40 


QDesign II - Graphic- and Design-program. Running completely under 
the PE! Supports the Extended Mode4. Do you think anything else is to say 
about о very good graphics program?! 

For all 9 ond 24 pin printers, Deskjet ond Loserjet £48 DM 140 $77 
Font-Vector-Editor for QDesign £19 DM 56,05 $30.40 


Assembler Pack containing the GST Macro Assembler, QD IIl and the QDOS 
Reference monuol, £85 DM 250,75 5136 


SYSTEM - System Tools for QDOS: reol file-attributes ore added, e.g. 
write-only, hidden or for selected users only. Works even over net and on winch- 
ester. New TRAPI3. New devices (equivalent to Ql-Fmulator): nomed pipes, 
MEM, NUL 80 new procs & functions, e.g. WSET FATTR, WSET ҒТҮРЕ, 
WSET FVERS, ADIR, ASTAT, HK GETBF$. £27.50 DM 85,- $45 


7Х8301 £5.90 DM 17,41 $9.44 
7Х8302 £5.90 DM 17,41 $9.44 


E 


eunocatio, 








QL-Emulator for ATARI ST 
(260, 520, 1040 and all Mega's, but no STE's). This hardware, together with 
software turns any ATARI into a QL The emulator supports the standard 
MODE 4 as well as a MODE 4 in much higher resolution (768x280) 
The QL emulator does not interfere with AT-emulators, it also runs even 
faster if accelarator cards (HyperCache, AdSpeed) are built into the 
machine. Of course, it supports real subdirectories (complete Level2 device 
drivers) on floppy, hard-disk and RAM disc. 
The complete QL emulator package includes a lot of utility software ond 
extensions. 
If you are interested in an emulator, you should write for more information 
£139 DM 376 $225 


EPROM Cartridge for the QL-Emulator, switchable 

- containing the standard drivers £33 DM 97,35 $52.80 

- containing the extended drivers £33 DM 97,35 $52.80 

Floppy adaptor to connect QL discdrives to the ST £9 DM 26,55 
$14.40 

Monitor-cable ATARI to Scart £9 DM 26,55 $14.40 
Centronics-cable 2m £6.50 DM 19.18 $10.40 
Centronics-cable Sm £10.50 DM 30.98 $16.80 


Games 
Diamonds £11 DM 32,45 $17.60 
BrainSmasher £12 DM 35.40 $19.20 
Arcanoid £10 DM 29,50 $16 
Firebirds £10 DM 29,50 $16 
SuperGamesPack £25 DM 73,75 $40 
QShang £14 DM 41,30 $22.40 


Brandnew game: The lonely Joker! 

The lonely Joker is a solitaire card game based on three different patiences: 
Echelon, Napoleon and Cascade. All three games are very addictive, with 
different variations. It is easy to control by mouse or kebyoard and runs 
under the PE. System requirement: 384k RAM and Toolkit 1 

£14.90 DM 44 $25 


NEW: SER Mouse 

Software driver which allows you to connect a senal (e.g. DOS) mouse to 
one of the serial ports of the QL which then mimics the QIMI interface. In 
addition to the functions of the QIMI, if you have a three button mouse the 
following features are available: ESC on centre button, left centre is Wake, 
and right+centre is Sleep. £14.90 DM 44 $25 


Updates 
Our update policy is very generous: updates on most products ore free! 
Upgrades (i.e. major improvements on the products) are available at small 
charges. In general you only have to pay if new manuals are required. For 
updates and upgrades, just return the original disc and enough retum 
postage (none, if updates come with an order, £2 (DM 5,90 $3.20) for up 
to 5 discs or £4 (DM 11.80 $6.40) for more. 
Upgrade to QD Version 4 from V3 £10 DM 29,50 $16 
Upgrade to QSUP from QSYS lor ll £19 DM 56,05 530.40 
Upgrade to QPTR (with new manual) #14 DM 41,30 $22.40 
Upgrade to EasyPTR 1 from М1 £13 DM 38,35 520.80 
Upgrade to QDesign Version И £13 DM 38,75 $20.80 
New Emulator manual £6 DM 17,70 $9.60 


ial offers (Europe only) 
Pack of 10 3.5" discs MF2DD £3.10 DM 9,15 
Pack of 10 3.5" discs MF2HD £5 DM 14,75 
3.5" Diskdrive 2MB (unformatted) without case, for GoldCard (1.44MB) 
or any other Controller (720k) £39 DM 115,05 


Please add £4.00 (DM 11.80) for postage and pack- 
—. age (Europe) or $6.40 for one item and $4 for every 
further item (Overseas). No extra charge on credit 
cards! All prices excl. VAT. E&OE